#include <stdio.h>  //C的标准库头文件
//#include <cstdio>
#include <iostream>

using std::cout;
using std::endl;



//在匿名空间中添加新的实体
namespace 
{

int gnum = 4;

void func()
{
    cout << "::func()" << endl;
}

}//end of anonymous 

//全局位置与匿名命名空间中的实体出现同名时，
//匿名命名空间中的同名实体被隐藏
int gnum = 3;

namespace wd
{
int gnum = 1;

//命名空间可以嵌套使用
namespace cpp
{
int gnum = 2;

void func()
{
    cout <<"wd::cpp::func()" << endl;
}

}//end of namespace cpp


void func()
{
    cout << "wd::func()" << endl;
    //匿名命名空间 可以兼容C语言
    ::printf("hello,world\n");
}

}//end of namespace wd

int main()
{
    wd::func();
    wd::cpp::func();
    func();

    cout << "gnum:" << ::gnum << endl;

    return 0;
}

